﻿using sipfe.model.dataAccess;
using sipfe.model.mante;
using sipfe.model.sqlExecutor;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sipfe.service.mante
{
    public class MenuManteService
    {
        /*LISTAR TABLA*/
        
        public IList<dynamic> listaMenuDetService(string sw, string nameItem, string idItem)
        {
            String[] parametros = new String[] { sw, nameItem, idItem };
            String[] nombreParametros = new String[] { "sw", "nameItem", "idItem" };
            return SqlExecutorSP.executeStore("paListarSIPOpciones", parametros, nombreParametros);
        }

        /*AGREGAR TABLAS*/
       
        public string AgregarOpcionService(SIPMaeOpcion sipMaeOpcion)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();

            return MenuManteDAO.agregarOpcionDAO(sipMaeOpcion);
        }

        public List<SIPMaeOpcion> DetalleHijosService(decimal nIdeOpcion)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.DetalleHijosDAO(nIdeOpcion);
        }

        public int CerrarVigenciaOpcionService(decimal nIdeOpcion, DateTime ayer)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.cerrarVigenciaDepDAO(nIdeOpcion, ayer);
        }

        public string[] AddHijoAlaOpcionService(SIPMaeOpcion sipMaeOpcion)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.AddHijoAlaOpcionDAO(sipMaeOpcion);
        }

        public SIPMaeOpcion ListarOpcionByIdService(decimal nIdeOpcion)
        {   MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.ListarOpcionByIdDAO(nIdeOpcion);
        }
        
        /*ACTUALIZAR TABLAS*/
        public string[] UpdateOpcionService(SIPMaeOpcion sipMaeOpcion)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.UpdateOpcionDAO(sipMaeOpcion);
        }

        public IList<dynamic> AddOpcionAPerfilService(decimal nIdePeril, string arrayFilas, int nIdeUsuReg)
        {
            String[] parametros = new String[] { nIdePeril.ToString(), arrayFilas, nIdeUsuReg.ToString() };
            String[] nombreParametros = new String[] { "nIdePerfil", "cadenaOpciones", "nIdeUsuReg" };
            return SqlExecutorSP.executeStore("paAddOpcionAPerfil", parametros, nombreParametros);
        }

        public IList<dynamic> ListaOpcionAPerfilService(decimal nIdePeril)
        {
            String[] parametros = new String[] { nIdePeril.ToString()};
            String[] nombreParametros = new String[] { "nIdePerfil"};
            return SqlExecutorSP.executeStore("paListaOpcionAPerfil", parametros, nombreParametros);
        }

        public int CerrarVigenciaPerfilOpcion(decimal nIdeOpcionPerfil, DateTime ayer)
        {
            MenuManteDAO MenuManteDAO = new MenuManteDAO();
            return MenuManteDAO.CerrarVigenciaPerfilOpcion(nIdeOpcionPerfil, ayer);
        }


    }
}
